步驟 | 內容 |
---|---|
1. 定義範疇 define the scope of the model | 團隊透過建立資產清單並對其進行分類來確定他們正在建立的內容。 |
2-1. 識別威脅 identify threats | 定義內部employee和外部malicious hacker, or a competing business威脅行為者 |
2-2 建立攻擊樹 attack tree | a diagram that maps threats to assets.繪製威脅與資產的關聯圖表 |
3.characterize the environment描述環境的特徵 | 使用攻擊者視角分析業務環境,包括客戶、員工和第三方 |
4.分析威脅their objective is to analyze threats | 審查防護措施,識別漏洞並根據風險打分排序威脅 |
5.管理風險the team decides how to mitigate risk | 團隊決定如何降低風險,並制定防禦威脅的計畫,選擇包括避免風險、轉移風險、降低風險或接受風險。 |
6.評估結果 evaluate findings | 文件化改善過程,記錄成功案例和經驗教訓 |
階段 | 定義 | 舉例/工作範圍 |
---|---|---|
1. 定義業務與安全目標 | 確定威脅建模的目標與需求,以支持企業目標。 | 確保客戶敏感數據(例如信用卡信息、個人身份信息)在網路購物平台上的安全 |
2. 定義技術範圍 | 確定需要評估的應用組件及攻擊面範圍,如數據靜態與動態環境中的技術。 network protocols, security controls, and other data interactions. | 攻擊面:Web 應用程序:前端和後端(包括 API)。資料庫:存儲客戶數據(例如信用卡信息、地址)。網絡層:數據傳輸過程中的安全性(HTTPS、TLS)。用戶驗證系統:如登入功能、密碼重置流程 &技術範圍包括:使用的技術堆疊(例如 Node.js、MongoDB)。安全控制(例如加密、身份驗證、存取控制)。數據交互方式(靜態數據和動態數據)。 |
3. decompose 應用程式 | 識別現有安全控制,繪製data flow diagram.數據流模型(DFD),了解數據傳輸路徑及保護機制。 | 識別數據流的每個節點(例如:客戶輸入信用卡信息 → 傳送到後端 → 存儲於資料庫)。了解現有的安全控制(例如:資料庫加密、API 身份驗證)。 |
4. perform a threat analysis威脅分析 | 以攻擊者視角研究潛在攻擊方式,收集最新攻擊信息及攻擊向量。 | 舉例:了解手機應用目前可能受到的攻擊向量,如 SQL 注入攻擊等。 |
5. performing a vulnerability analysis漏洞分析 | 深入調查潛在漏洞,分析其根本原因。 | 舉例:研究不同漏洞,如是否所有輸入都經過安全過濾?資料庫加密是否符合 PCI-DSS 要求?用戶驗證系統是否有防止暴力破解的機制? |
6. conducts attack modeling攻擊建立 | 模擬攻擊以測試漏洞,使用攻擊樹(Attack Tree)繪製攻擊圖譜並評估每個攻擊向量。 | 舉例:建立針對 SQL 注入的攻擊樹,展示使用者數據過程中的每個攻擊節點,分析其可行性。 |
7. analyze risk and impact風險與影響分析 | 彙整前六階段數據,測試漏洞進行全面風險與影響評估,向業務單位提出風險管理建議。 | 舉例:根據案例提出可操作的風險建議供業務決策參考,如實施新的安全控制或提升現有防御能力。 |
優點 | 缺點 |
---|---|
提供系統化的威脅建模流程,適合跨領域業務的使用。 | 框架完整但流程較冗長,可能消耗較多的時間與資源。 |
從攻擊面到風險評估的涵蓋範圍廣泛,幫助團隊在決策前更全面了解風險狀態。 | 對於小型或資源有限的企業而言,實施成本可能較高。 |
使用攻擊樹進行建模,便於視覺化分析攻擊途徑與修復建議。 | 涉及多個專業職能團隊的協作,對成員的技術能力要求較高。 |
威脅建模過程通常以循環方式進行,包括定義範圍、識別威脅、描述環境、分析威脅、緩解風險及評估結果。
A typical threat modeling process is performed in a cycle:
Define the scope
Identify threats
Characterize the environment
Analyze threats
Mitigate risks
Evaluate findings
框架 | 定義/特色 | 優缺點 |
---|---|---|
STRIDE | 由微軟開發,聚焦 6 個攻擊向量:仿冒(身份欺騙)、竄改、否認、信息洩露、阻斷服務、權限提升。 | 優點: 結構化、針對性。缺點: 需專業知識,且不強調風險優先級。 |
PASTA | 基於風險的建模,聚焦可行威脅與實證數據。七階段評估了應用及其運行環境。 | 優點: 應用範圍廣。缺點: 計算與處理更耗時。 |
Trike | open sourc方法,強調設計保護安全性的權限與應用案例。 | 優點: 適合安全權限設計。缺點: 適用範圍有限,不利於大規模威脅建模。 |
VAST/The Visual, Agile, and Simple Threat | 為自動化威脅建模設計,使用 ThreatModeler® 的平台。 | 優點: 簡單、速度快,適合日常開發工作。缺點: 僅適用於某些特定應用環境依賴自動化工具。 |